/// 应用入口文件
/// 
/// 负责初始化应用，配置全局Provider和路由
/// 
/// 作者: Fluttert Team
/// 日期: 2024

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'app/app.dart';
import 'app/routes.dart';
import 'providers/app_provider.dart';
import 'providers/user_provider.dart';

/// 应用主入口函数
void main() {
  runApp(const MyApp());
}

/// 应用根组件
/// 
/// 使用MultiProvider包装整个应用，提供全局状态管理
/// 配置MaterialApp.router使用go_router进行路由管理
/// 支持明暗主题自动切换
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        // 注册全局AppProvider，用于管理应用级别的状态
        ChangeNotifierProvider(create: (_) => AppProvider()),
        // 注册UserProvider，用于管理用户相关状态
        ChangeNotifierProvider(create: (_) => UserProvider()),
      ],
      child: MaterialApp.router(
        title: 'Fluttert',
        debugShowCheckedModeBanner: false, // 隐藏调试横幅
        theme: AppTheme.lightTheme, // 明亮主题
        darkTheme: AppTheme.darkTheme, // 暗黑主题
        themeMode: ThemeMode.system, // 跟随系统主题设置
        routerConfig: AppRoutes.router, // 配置路由
      ),
    );
  }
}

